package com.alibaba.citrus.ots.sales.plan.api.salesplan;

import com.alibaba.citrus.ots.sales.plan.dto.api.request.SalesPlanDetailExportRequest;
import com.alibaba.citrus.ots.sales.plan.dto.api.request.SalesPlanDetailViewExportRequest;
import com.alibaba.citrus.ots.sales.plan.dto.api.request.SalesPlanImportRequest;
import com.alibaba.citrus.ots.sales.plan.dto.api.request.SalesPlanLineImportRequest;
import com.alibaba.citrus.ots.sales.plan.dto.api.response.SalesPlanDetailExportResponse;
import com.alibaba.citrus.ots.sales.plan.dto.api.response.SalesPlanDetailViewExportResponse;
import com.alibaba.lattice2.epoch.meshflow.model.annotation.MeshFlowService;
import com.alibaba.lattice2.epoch.sdk.model.Result;
import com.epoch.app.bcots.model.dto.PageQuerySalesPlanLineList2Request;
import com.epoch.app.bcots.model.dto.PageQuerySalesPlanLineList2Response;

import java.util.List;

/**
 * @author yuhailin
 * @description:
 * @date 2021-11-06 15:00
 */
@MeshFlowService(apps = {"bc_ots"}, name = "salesPlanLineFileService")
public interface SalesPlanLineFileService {
    /**
     * 计划明细导入
     * @param requestList
     * @return
     */
    Result<List<SalesPlanLineImportRequest>> salesPlanLineImportHandle(List<SalesPlanLineImportRequest> requestList, SalesPlanImportRequest salesPlanImportRequest);

    /**
     * 月度计划明细导出服务
     * @param exportRequest
     * @return
     */
    Result<List<SalesPlanDetailExportResponse>> SalesPlanDetailExportList(SalesPlanDetailExportRequest exportRequest);

    /**
     * 月度计划明细导出服务_汇总视图
     * @param request
     * @return
     */
    Result<List<SalesPlanDetailViewExportResponse>> SalesPlanDetailViewExportList(List<SalesPlanDetailViewExportRequest> request);

    PageQuerySalesPlanLineList2Response getSalesPlanLineList(PageQuerySalesPlanLineList2Request pageQuerySalesPlanLineList2Request);
}
